Arduino প্রোগ্রামিং-এ switch-case
স্টেটমেন্টটি ব্যবহার করে বিভিন্ন শর্তের উপর ভিত্তি করে নির্দিষ্ট ব্লক চালানো যায়। এটি if-else
স্টেটমেন্টের বিকল্প হিসাবে ব্যবহৃত হয় এবং যখন অনেক শর্তের উপর ভিত্তি করে বিভিন্ন কাজ করা প্রয়োজন হয়, তখন কোডকে আরও সহজ ও পড়তে সুবিধাজনক করে তোলে।
switch-case
স্টেটমেন্টের কাঠামোswitch-case
স্টেটমেন্টের মূল কাঠামো নিচের মতো:
switch (expression) {
case constant1:
// code block 1
break;
case constant2:
// code block 2
break;
case constant3:
// code block 3
break;
default:
// default block (যদি কোনো case মিল না হয়)
break;
}
expression
: একটি ভেরিয়েবল বা এক্সপ্রেশন যা case
ব্লকগুলোর মানের সাথে মিলানো হয়।case constant
: প্রতিটি case
স্টেটমেন্টের একটি নির্দিষ্ট মান থাকে। যখন expression
-এর মান কোনো case
-এর সাথে মেলে, তখন সেই ব্লকটি চালানো হয়।break
: প্রতিটি case
ব্লকের শেষে থাকে যাতে প্রোগ্রাম switch
স্টেটমেন্ট থেকে বেরিয়ে আসে। এটি না দিলে পরবর্তী case
ব্লকও চলতে পারে।default
: যখন কোনো case
মেলে না, তখন default
ব্লকটি চালানো হয়।void setup() {
Serial.begin(9600);
}
void loop() {
int command = 2; // উদাহরণস্বরূপ একটি ভেরিয়েবল
switch (command) {
case 1:
Serial.println("Turn LED ON");
// LED চালু করার কোড
break;
case 2:
Serial.println("Turn LED OFF");
// LED বন্ধ করার কোড
break;
case 3:
Serial.println("Blink LED");
// LED ব্লিঙ্ক করার কোড
break;
default:
Serial.println("Invalid Command");
break;
}
delay(1000); // ১ সেকেন্ড অপেক্ষা
}
ব্যাখ্যা: উপরের কোডে command
ভেরিয়েবলের মান অনুযায়ী নির্দিষ্ট case
চালানো হয়। যদি command
এর মান ১ হয়, তাহলে "Turn LED ON" প্রিন্ট হয় এবং সংশ্লিষ্ট কোড চালানো হয়। break
স্টেটমেন্টটি switch
ব্লক থেকে বেরিয়ে আসতে সাহায্য করে।
void setup() {
Serial.begin(9600);
}
void loop() {
int day = 3; // উদাহরণস্বরূপ একটি ভেরিয়েবল (১ = রবিবার, ৭ = শনিবার)
switch (day) {
case 1:
Serial.println("Sunday");
break;
case 2:
Serial.println("Monday");
break;
case 3:
Serial.println("Tuesday");
break;
case 4:
Serial.println("Wednesday");
break;
case 5:
Serial.println("Thursday");
break;
case 6:
Serial.println("Friday");
break;
case 7:
Serial.println("Saturday");
break;
default:
Serial.println("Invalid day");
break;
}
delay(1000); // ১ সেকেন্ড অপেক্ষা
}
ব্যাখ্যা: এখানে day
ভেরিয়েবলের মান অনুযায়ী দিনের নাম প্রিন্ট হয়। default
স্টেটমেন্টটি তখন চালানো হয় যখন day
ভেরিয়েবলের মান ১ থেকে ৭-এর মধ্যে না থাকে।
break
স্টেটমেন্ট: প্রতিটি case
ব্লকের শেষে break
রাখা গুরুত্বপূর্ণ। এটি না রাখলে পরবর্তী case
ব্লকগুলিও চালানো হতে পারে (এটিকে fall-through বলে)।default
ব্লক: default
ব্লক রাখা ঐচ্ছিক, তবে এটি রাখা ভালো যাতে কোনো case না মিললে একটি ডিফল্ট কাজ করা যায়।switch-case
স্টেটমেন্টের সীমাবদ্ধতা: শুধুমাত্র ইন্টিজার বা char
ডেটা টাইপের জন্য কাজ করে। ফ্লোট বা স্ট্রিং ডেটা টাইপের জন্য এটি ব্যবহার করা যায় না।switch-case
স্টেটমেন্ট ব্যবহার করে প্রোগ্রামের লজিক আরও সুস্পষ্ট এবং পড়তে সহজ করা যায়, যা বড় প্রোগ্রামে কোড ম্যানেজমেন্টে সহায়ক।
common.read_more